function listarGrupos() {
    containerPrincipal.insert('listagem_recurso', 'grupo.html', function() {
        $("#principal_content_title").html("Listagem de Grupo");
    });
    containerPrincipal.select('listagem_recurso');
}

function consultarGrupo(cod_grupo) {
    $("#progress").show();
    $.ajax({
        type: "POST",
        url : "../controllers/GrupoController.php",
        data : {
            cod_grupo : cod_grupo,
            acao : 'consultar'
        },
        success: function(msg){
            if (!(msg instanceof XMLDocument)) {
                msg = msg.replace("Exception: ", "");
                showMessage(ERROR_MESSAGE, msg);
                return;
            }
            var grupo = $(msg).find('grupo');
            cod_grupo_consulta = grupo.find('cod_grupo').text();
            containerPrincipal.insert('consulta_recurso', 'consulta/grupo.html', function() {
                $("#descricao_consulta").html(grupo.find('descricao').text());
                listarUsuarios();
                listarPermissoes();
                $('#descricao_consulta').editable( '../controllers/GrupoController.php', {
                    "callback": function( sValue, y ) {
                        if (sValue.indexOf("Exception: ") != -1) {
                            var message = sValue.replace("Exception: ", "");
                            message = message.substring(0, message.indexOf("|"));
                            showMessage(ERROR_MESSAGE, message);
                            sValue = sValue.substring(sValue.indexOf("|") + 1, sValue.length);
                        } else {
                            containerPrincipal.insert('listagem_recurso', 'grupo.html', null);
                        }
                    //var aPos = tabela_grupo.fnGetPosition( this );
                    //tabela_grupo.fnUpdate( sValue, aPos[0], aPos[1] );
                    },
                    "submitdata": function ( value, settings ) {
                        return {
                            "row_id": cod_grupo_consulta,
                            "acao" : "alterar"
                        };
                    },
                    "height": "25px"
                } );
            });
            containerPrincipal.select('consulta_recurso');
            $("#progress").hide();
        }
    });
}

function manutencaoGrupo(acao, cod_grupo) {
    $("#progress").show();
    var descricao;
    if (acao == 'cadastrar') {
        descricao = $("#descricao_cadastrar").val();
        if (descricao == '') {
            showMessage(ERROR_MESSAGE, 'Descrição inválida!');
            return;
        }
    }
    $.ajax({
        type: "POST",
        url : "../controllers/GrupoController.php",
        data : {
            cod_grupo : cod_grupo,
            descricao : descricao,
            acao : acao
        },
        success: function(msg){
            $("#progress").hide();
            if (msg.indexOf("Exception: ") != -1) {
                msg = msg.replace("Exception: ", "");
                showMessage(ERROR_MESSAGE, msg);
                return;
            }
            if (acao == 'cadastrar') {
                listarGrupos();
            } else if (acao == 'excluir') {
                var botao = $('#' +cod_grupo).children("td:first");
                tabela_grupo.fnDeleteRow( tabela_grupo.fnGetPosition(botao[0])[0]);
            }
            $("#recurso").dialog('close');
        }
    });
}